package com.xjgc.model.entity.tax;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;


/**
 * <p>
 *
 * </p>
 *
 * @author 刘银芳
 * @since 2021-12-08
 */
@Data
public class ZxjTaxHangxinToSap implements Serializable {

private static final long serialVersionUID=1L;

/**
 * 主键
 */
@JsonProperty("id")
@TableId(value = "\"id\"", type = IdType.AUTO)
private Long id;

/**
 * 发票类型 01-增值税专用发票 03-机动车销售统一发票 04-增值税普通发票 10-电子发票 11-卷票 14-通行费发票
 */
private String invoiceType;

/**
 * 发票代码
 */
private String invoiceCode;

/**
 * 发票号码
 */
private String invoiceNo;

/**
 * 开票日期
 */
private Date invoiceDate;

/**
 * 购方税号
 */
private String gfTaxNo;

/**
 * 购方名称
 */
private String gfName;

/**
 * 购方地址电话
 */
private String gfAddressAndPhone;

/**
 * 购方开户行及账号
 */
private String gfBankAndNo;

/**
 * 销方税号
 */
private String xfTaxNo;

/**
 * 销方名称
 */
private String xfName;

/**
 * 销方地址及电话
 */
private String xfAddressAndPhone;

/**
 * 销方开户行及账号
 */
private String xfBankAndNo;

/**
 * 金额
 */
private Double invoiceAmount;

/**
 * 税额
 */
private Double taxAmount;

/**
 * 价格合计
 */
private Double totalAmount;

/**
 * 备注
 */
private String remark;

/**
 * 发票状态 0-正常  1-失控 2-作废  3-红冲 4-异常
 */
private String invoiceStatus;

/**
 * 发票状态修改时间
 */
private Date statusUpdateDate;

/**
 * 发票状态最后修改时间
 */
private Date lastUpdateDate;

/**
 * 认证时间
 */
private Date rzhDate;

/**
 * 签收时间
 */
private Date qsDate;

/**
 * 最晚认证归属期 yyyyMM
 */
private String rzhBelongDateLate;

/**
 * 实际认证归属期 yyyyMM
 */
private String rzhBelongDate;

/**
 * 认证确认时间
 */
private Date confirmDate;

/**
 * 认证方式 1-勾选认证 2-扫描认证
 */
private String rzhType;

/**
 * 是否认证 0-未认证 1-已认证抵扣，2-已认证不抵扣
 */
private String rzhYesorno;

/**
 * 提交认证操作人账号
 */
private String gxUserAccount;

/**
 * 提交认证操作人
 */
private String gxUserName;

/**
 * 底账来源  0-采集 1-查验
 */
private String sourceSystem;

/**
 * 是否有效 1-有效 0-无效
 */
private String valid;

/**
 * 发票代码+发票号码    唯一索引 防重复
 */
private String uuid;

/**
 * 采集时间
 */
private Date createDate;

/**
 * 自动查验时间使用
 */
private Date checkDate;

/**
 * 勾选时间
 */
private Date gxDate;

/**
 * 认证结果回传信息
 */
private String rzhBackMsg;

/**
 * 当前税款所属期
 */
private String dqskssq;

/**
 * 当前税款所属期勾选截止日
 */
private String gxjzr;

/**
 * 当前税款所属期可勾选发票开票日期范围起
 */
private String gxfwq;

/**
 * 当前税款所属期可勾选发票开票日期范围止
 */
private String gxfwz;

/**
 * 是否已勾选
 */
private String sfygx;

/**
 * 是否存入明细 0 无明细 1 有明细
 */
private String detailYesorno;

/**
 * 勾选方式(0-手工勾选 1-扫码勾选 2-导入勾选 3- 智能勾选 4-手工认证 5-扫码认证 6-导入认证)
 */
private String gxType;

/**
 * 认证处理状态  0-未认证 1-已勾选未确认，2已确认 3 已发送认证 4 认证成功 5 认证失败 6已撤销认证
 */
private String authStatus;

/**
 * 发送认证时间
 */
private Date sendDate;

/**
 * 认证类型(1-抵扣 2-退税 3-代理退税  4-不抵扣 5-撤销认证 6-撤销不抵扣  发票已认证、已勾选有该标签）
 */
private String rzlx;

/**
 * 是否代办退税(0：否 1：是)
 */
private String sfdbts;

/**
 * 签收方式（0-扫码签收 1-扫描仪签收 2-app签收 3-导入签收 4-手工签收5-pdf上传签收
 */
private String qsType;

/**
 * 签收结果（0-未签收 1-已签收）
 */
private String qsStatus;

/**
 * 校验码
 */
private String checkCode;

/**
 * 通行费标志(Y-可抵扣通行费，N-不可抵扣通行费)
 */
private String txfbz;

/**
 * 零税率标志 (空:非零税率，1:税率栏位显示“免税”，2:税率栏位显示“不征收”，3:零税率
 */
private String lslbz;

/**
 * 转出状态 0-未转出   1-全部转出  2-部分转出
 */
private String outStatus;

/**
 * 转出金额
 */
private Double outInvoiceAmout;

/**
 * 转出税额
 */
private Double outTaxAmount;

/**
 * 转出原因1-免税项目用 ；2-集体福利,个人消费；3-非正常损失；4-简易计税方法征税项目用；5-免抵退税办法不得抵扣的进项税额；6-纳税检查调减进项税额；7-红字专用发票通知单注明的进项税额；8-上期留抵税额抵减欠税
 */
private String outReason;

/**
 * 转出备注
 */
private String outRemark;

/**
 * 转出日期
 */
private Date outDate;

/**
 * 转出税款所属期
 */
private String outBelongDate;

/**
 * 转出人
 */
private String outBy;

/**
 * 确认人
 */
private String confirmUser;

/**
 * 机器编号
 */
private String machinecode;

/**
 * 部门id
 */
private String deptId;

/**
 * 部门名称
 */
private String deptName;

/**
 * 结算单号
 */
private String settlementNo;

/**
 * 是否结算（0未结算1已结算）
 */
private String settlementStatus;

/**
 * 结算单来源
 */
private String settleSource;

/**
 * 付款状态（0-付款成功 1-付款失败）
 */
private String paymentStatus;

/**
 * 付款日期
 */
private String paymentDate;

/**
 * 凭证号
 */
private String voucherNumber;

/**
 * 付款金额
 */
private Double paymentSum;

/**
 * 签收人
 */
private String qsName;

/**
 * 逾期申请结果
 */
private String yqsqMsg;

/**
 * 逾期申请标志  0-未申请  1--已申请 默认为空
 */
private String yqsqStatus;

/**
 * 管理状态  0正常1异常
 */
private String glzt;

/**
 * 信息来源  0扫描认证  1系统推送 2出口转内销
 */
private String xxly;

/**
 * 抵扣税额
 */
private Double dkTaxAmount;

/**
 * 逾期可勾选标志   0默认值，1可勾选逾期
 */
private String yqkgxbz;

/**
 * 异常类型  0发票状态异常1申报用途变更（抵扣变代办退税）2管理状态异常、注：发票状态为正常时为空
 */
private String yclx;

/**
 * 逾期审核状态  0--未审核  1--已审核  默认为空
 */
private String yqshzt;

/**
 * 签收人
 */
private String userAccount;

/**
 * 购方税号
 */
private String newGfTaxno;

/**
 * 逾期申请属期
 */
private String yqCurrentPeriod;

/**
 * 集团编码
 */
private String company;

/**
 * 撤销认证处理状态0未撤销，1申请撤销，2发送撤销，4撤销成功，5撤销失败
 */
private String cxrzStatus;

/**
 * 撤销认证操作时间
 */
private Date cxrzDate;

/**
 * 0默认值，1认证抵扣，2认证不抵扣
 */
private String bdkStatus;

/**
 * 不抵扣操作时间
 */
private Date bdkDate;

/**
 * 撤销认证申请属期
 */
private String cxrzCurrentPeriod;

/**
 * 不抵扣申请属期
 */
private String bdkCurrentPeriod;

/**
 * 撤销不抵扣处理状态0未申请，1申请，2发送申请，4申请成功，5申请失败
 */
private String cxbdkStatus;

/**
 * 撤销不抵扣操作时间
 */
private Date cxbdkDate;

/**
 * 逾期申请时间
 */
private Date yqsqDate;

/**
 * 逾期审核时间
 */
private Date yqshDate;

/**
 * 供应商编码
 */
private String vendorId;

/**
 * 请求id
 */
private String requestId;

/**
 * 扫描匹配状态 0--未匹配  1--匹配成功  2--匹配失败
 */
private String scanMatchStatus;

/**
 * 扫描匹配时间
 */
private Date scanMatchDate;

/**
 * 采集时间
 */
private Date collectDate;

/**
 * 订单号
 */
private String orderNo;

/**
 * 是否可认证，0未认证，1可认证
 */
private String isAuth;

/**
 * 出口转内销标志默认0否，1是
 */
private String exportMark;

/**
 * 扫描id
 */
private String scanId;

/**
 * 业务单据号
 */
private String documentNumber;

/**
 * 摊销人
 */
private String amortizeUser;

/**
 * 是否末次摊销 0-否，1-是
 */
private String amortizeStatus;

/**
 * 摊销金额
 */
private String amortizeAmount;

/**
 * 剩余摊销金额
 */
private Double remainAmortizeAmount;

/**
 * 摊销业务单据编号
 */
private String amortizeDocumentNumber;

/**
 * 收款人
 */
private String payee;

/**
 * 复核人
 */
private String reviewer;

/**
 * 开票人
 */
private String printor;

/**
 * 是否有销货清单 0 否/1 是, 默认为 0
 */
private String isSaleList;

/**
 * 红蓝票标识 0 蓝/1 红
 */
private String isRed;

/**
 * 红票对应的蓝票代码
 */
private String blueCode;

/**
 * 红票对应的蓝票号码
 */
private String blueNo;

/**
 * 入账状态
 */
private String inAccountStatus;

/**
 * 入账时间
 */
private Date inAccountDate;

/**
 * 供应商违规标志0否，1是
 */
private String illegalSupplier;

/**
 * 利润中心
 */
private String profitCenter;

/**
 * 读取状态 0：表示未读取  1：表示已读取
 */
private String zflag;

/**
 * 认证同步状态0未同步1已同步
 */
private String sendRzStatus;

/**
 * 认证同步时间
 */
private Date sendRzDate;

/**
 * 签收同步状态0未同步1已同步
 */
private String sendQsStatus;

/**
 * 签收同步时间
 */
private Date sendQsDate;

/**
 * 匹配状态，发票/结算单匹配状态（0-自动  1-手工  2-强制  3-不通过  4-不需匹配  5-取消 6-待审核 7-拒绝匹配 99-初始）
 */
private String matchstatus;

/**
 * 匹配关联号
 */
private String matchNo;

/**
 * 匹配日期
 */
private Date matchDate;

/**
 * 匹配错误信息
 */
private String matchErrinfo;

/**
 * 匹配用户
 */
private String matchUser;

/**
 * 匹配金额
 */
private Double matchCost;

/**
 * 匹配税额
 */
private Double matchVat;

/**
 * 供应商编码
 */
private String venderNo;

/**
 * 票池采集来源 0-进项采集 1-票据采集
 */
private String collectFrom;

/**
 * 票池采集状态 0-未采集 1-已采集
 */
private String collectStatus;

/**
 * 票池入池状态 0-成功 1-失败
 */
private String poolStatus;

/**
 * 入池失败原因
 */
private String inPoolReason;

/**
 * 凭证号
 */
private String voucherNo;

/**
 * 密文
 */
private String mw;

/**
 * 机打号码 -卷票字段
 */
private String jdhm;

/**
 * 代开税号
 */
private String dkTaxno;

/**
 * 代开名称
 */
private String dkTaxname;

/**
 * 代开状态 0-非代开 1-代开
 */
private String dkStatus;

/**
 * 开票人
 */
private String invoicer;

/**
 * 报销单号（旧：关联业务单据）
 */
private String relatedBusinessDocuments;
/**
 * 数据创建时间
 */
private Date createTime;

/**
 * 数据传输至sap日期
 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp datum;

private String srmStatus;

@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private java.util.Date pushSrmTime;
}
